package phoenix.web.test_objects.data_providers;

import phoenix.core.PhoenixManager;
import phoenix.core.base.extensions.TestBaseExt;
import phoenix.core.data_models.UserProfileDataModel;
import phoenix.core.data_models.UserProfileDataModel.LookingFor;

public class SearchDataProviders extends TestBaseExt
{
	public SearchDataProviders(PhoenixManager p_phoenix)
	{
		super(p_phoenix);
	}

	public Object[][] searchData()
	{
		// Fixture for Looking for settings
		UserProfileDataModel profileModel = new UserProfileDataModel(manager);
		LookingFor fixtureForMiddle = profileModel.new LookingFor(manager.testUser().getGender(), manager.testUser().getPostcode());
		fixtureForMiddle.fillUpForFunnelTwo(manager.testUser().getPostcode()); // age 25 - 30, radius 50

		return new Object[][]
			{
				{ fixtureForMiddle },
			};
	}

	public Object[][] searchFunnelData()
	{
		// Fixture for Looking for settings
		UserProfileDataModel profileModel = new UserProfileDataModel(manager);

		LookingFor fixtureForYang = profileModel.new LookingFor(manager.testUser().getGender(), manager.testUser().getPostcode());

		fixtureForYang.fillUpForFunnel(testUser().getGender(), manager.testUser().getPostcode()); // age 18 - 25, radius

		return new Object[][]
			{
				{ fixtureForYang },
			};
	}

	public Object[][] searchFunnelMDData()
	{
		String p_gender = (testUser().getGender().equals("male")) ? "Female" : "Man";
		// Fixture for Looking for settings
		UserProfileDataModel profileModel = new UserProfileDataModel(manager);
		LookingFor fixtureForOLD = profileModel.new LookingFor(manager.testUser().getGender(), manager.testUser().getPostcode());
		fixtureForOLD.fillLookingFor("35", "60", manager.testUser().getPostcode(), "20", "test status", "test description", p_gender); // age 18 - 25, radius

		return new Object[][]
			{
				{ fixtureForOLD },
			};
	}

	public Object[][] searchToolbarMDData()
	{

		String p_gender = (testUser().getGender().equals("male")) ? "Female" : "Man";
		// Fixture for Looking for settings
		UserProfileDataModel profileModel = new UserProfileDataModel(manager);
		LookingFor fixtureForOLD = profileModel.new LookingFor(manager.testUser().getGender(), manager.testUser().getPostcode());
		fixtureForOLD.fillLookingFor("35", "40", manager.testUser().getPostcode(), "50", "test status", "test description", p_gender); // age 18 - 25, radius

		return new Object[][]
			{
				{ fixtureForOLD },
			};
	}

	public Object[][] searchProfileMDData()
	{
		String p_gender = (testUser().getGender().equals("male")) ? "Female" : "Man";
		// Fixture for Looking for settings
		UserProfileDataModel profileModel = new UserProfileDataModel(manager);
		LookingFor fixtureForOLD = profileModel.new LookingFor(manager.testUser().getGender(), manager.testUser().getPostcode());
		fixtureForOLD.fillLookingFor("50", "60", manager.testUser().getPostcode(), "100", "test status", "test description", p_gender); // age 18 - 25, radius

		return new Object[][]
			{
				{ fixtureForOLD },
			};
	}

	public Object[][] searchProfileData()
	{
		// Fixture for Looking for settings
		UserProfileDataModel profileModel = new UserProfileDataModel(manager);

		LookingFor fixtureForOld = profileModel.new LookingFor(manager.testUser().getGender(), manager.testUser().getPostcode());

		fixtureForOld.fillUpForFunnelThree(manager.testUser().getPostcode()); // age 35 - 50, radius 100

		return new Object[][]
			{
				{ fixtureForOld },
			};
	}

	public Object[][] searchProfileNFData()
	{
		// Fixture for Looking for settings
		UserProfileDataModel profileModel = new UserProfileDataModel(manager);

		LookingFor fixtureForOld = profileModel.new LookingFor(manager.testUser().getGender(), manager.testUser().getPostcode());
		fixtureForOld.fillLookingFor("25", "35", manager.testUser().getPostcode(), "50", "tests", "tests", "female");

		return new Object[][]
			{
				{ fixtureForOld },
			};
	}

}
